package cn.demoncat.util.lang;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Iterable
 *
 * @author 延晓磊
 * @since 2021年07月08日
 */
public class IterableUtil {

    /**
     * To List
     *
     * @param iterable
     * @param <T>
     * @return
     */
    public static <T> List<T> toList(Iterable<T> iterable){
        if (iterable == null) {
            return null;
        }
        List<T> list = new ArrayList<>();
        iterable.forEach(o -> list.add(o));
        return list;
    }

    /**
     * To Set
     *
     * @param iterable
     * @param <T>
     * @return
     */
    public static <T> Set<T> toSet(Iterable<T> iterable){
        if (iterable == null) {
            return null;
        }
        Set<T> list = new HashSet<>();
        iterable.forEach(o -> list.add(o));
        return list;
    }
}
